package com.photo.photePro.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.photo.photePro.entity.Like;

/**
 * 点赞服务接口
 */
public interface LikeService extends IService<Like> {
    
    /**
     * 分页查询用户点赞的作品
     * @param page 页码
     * @param pageSize 每页大小
     * @param userId 用户ID
     * @return 分页结果
     */
    Page<Like> pageUserLikes(int page, int pageSize, Long userId);
    
    /**
     * 检查用户是否已点赞该作品
     * @param photoId 作品ID
     * @param userId 用户ID
     * @return 是否已点赞
     */
    boolean isLiked(Long photoId, Long userId);
    
    /**
     * 添加点赞
     * @param photoId 作品ID
     * @param userId 用户ID
     * @return 是否成功
     */
    boolean addLike(Long photoId, Long userId);
    
    /**
     * 取消点赞
     * @param photoId 作品ID
     * @param userId 用户ID
     * @return 是否成功
     */
    boolean removeLike(Long photoId, Long userId);
} 